Network interface driver and method

ABSTRACT

The invention provides for a network interface driver for the communication of TCP packets involving a mobile terminal ( 38 ) and a wireless link ( 34 ) and in which acknowledgement signals are sent responsive to TCP data packets, including a control element ( 32 ) arranged to prevent acknowledgement signals that are delayed in the wireless link ( 34 ) from triggering a time-out signal in the TCP packet source, and a related method and also a computer program product arranged for use in a network interface driver for the communication of TCP packets involving the mobile terminal ( 38 ) and that exhibits a control function serving to prevent acknowledgement signal that are delayed in the wireless link from triggering a time-out signal at the TCP packet source.

[0001] The present invention relates to a network interface driver for the communication of TCP packets involving a mobile terminal.

[0002] In the field of mobile communications, problems can arise when TCP and IP communications are conducted over a connection experiencing operational noise in as much as adverse interactions between, for example, the TCP and LLC protocols results in performance degradation within the connection. Such performance degradation arises in terms of a throughput reduction in the connection and unnecessary retransmissions of data packets. The latter problem can prove particularly disadvantageous in that it also serves to decrease battery life within the mobile terminal and also leads to an inefficient use of the available bandwidth.

[0003] The present invention seeks to provide for a network interface and related operational method exhibiting advantages over such known interfaces and methods.

[0004] According to a first aspect of the present invention, there is provided a network interface driver of the type defined above and characterized by a control element arranged to prevent acknowledgement signals that are delayed in the wireless link from triggering a time-out signal in the TCP packet source.

[0005] The invention can prove advantageous in providing, for example, an improved quality of TCP/IP bluetooth connection in environments where poor link quality, or poor interface quality, degrade the performance.

[0006] The features defined in claims 2 and 3 offer particular advantages in applications where the traffic characteristics are symmetrical.

[0007] The features defined in claims 4-7 serve to emphasize the advantageous features of the present invention in allowing for faster data downloads and improved utilization of the available bandwidth and the related decreased number of the transmissions.

[0008] With the control element of the present invention advantageously arranged to run only at a bluetooth access point for a network, which can comprise, for example, a set-top box, personal computer or mobile phone, it is noted that, in offering a symmetrical solution, no specific modifications are necessary inside the mobile terminal nor is any standardization required.

[0009] According to a second aspect of the present invention, there is provided a computer program product arranged for use in a network interface driver for the communication of TCP packets involving a mobile terminal, and characterized in that the computer program product exhibits a control function serving to prevent acknowledgement signals that are delayed in the wireless link from triggering a time-out signal at the TCP packet source.

[0010] According to a third aspect of the present invention there is provided a method of controlling the communication of TCP packets involving a network interface driver and a mobile terminal, characterized by the step of preventing acknowledgement signals that are delayed in the wireless link from triggering a time-out signal in the TCP packet source.

[0011] The invention is described further hereinafter, by way of example only, with reference to the accompanying drawings in which:

[0012]FIG. 1 is a schematic block diagram of a wireless communication arrangement according to an embodiment of the present invention;

[0013]FIG. 2 is a schematic block diagram of the Bluetooth TCP booster illustrated in FIG. 1;

[0014]FIG. 3 is a graphical representation of FTP Bluetooth data transfer without the control element of the present invention; and

[0015]FIG. 4 is a similar graphical representation to FIG. 3 but arising from FTP Bluetooth transfer employing the control element of the present invention.

[0016] Turning first to FIG. 1, there is illustrated a schematic block diagram of a wireless communication arrangement 10 employing a network server 12 comprising, in descending order, an FTP 14, Transport Control Protocol 16, Internet Protocol 18, and having an ethernet connection layer 20 stack which is connected via a wire link 22 to a wireless access point 24 again exhibiting a layered structure comprising an Internet Protocol layer 26, an ethernet connection layer 28 and a Bluetooth logical link control layer 30. Located between the Internet Protocol layer 26 and the Bluetooth Logical Link Control layer 30 is the subject matter of the present invention which comprises a booster arrangement 32 embodied a computer program product. A wireless link 34 is achieved between the Bluetooth Logical Link Control layer 30 of the access point 24 and a corresponding Bluetooth Logical Link Control layer 36 of a mobile terminal 38. Again, the mobile terminal 38 includes a layered protocol stack structure comprising, in descending order, an FTP layer 40, a Transport Control Protocol layer 42 and an Internet Protocol layer 44 located above the Bluetooth Logical Link Control layer 36 of the mobile terminal 38.

[0017] As mentioned, the Bluetooth TCP booster 32 according to the illustrated embodiment of the present invention can comprise a software product inserted in the network interface driver of a wireless access point 24 and which is arranged to act on TCP data packets in both the downstream and upstream direction of data transfer. The embodiment illustrated in FIG. 1 also assumes that the mobile terminal 38 connects to the server 12 by way of the access point 24 and which therefore effectively serves as an IP router.

[0018] The booster 32 monitors the transmitted TCP packets in accordance with the established communication streams and is arranged to recognize acknowledgement signals sent effectively in a reverse direction during the communication by monitoring the content of the IP and TCP headers within the data packets.

[0019] The present invention arises from the important recognition that in operationally intense, i.e. noisy, wireless link conditions, acknowledgement signals can become delayed in, for example, the upstream direction of communication traffic and this disadvantageously causes a TCP time-out to be invoked at the source i.e. the sender of the originating data packets. Once such a time out has been invoked at the source, TCP data packets that have, for example, already been correctly received at the mobile terminal are retransmitted. Likewise, the system throughput is disadvantageously decreased due to a congestion control phase of the TCP protocol being invoked in view of this potential increase in the traffic. An example of such a condition is illustrated in FIG. 3 as discussed further below.

[0020] As appreciated, and in accordance with the present invention, the booster employed within the arrangement of FIG. 1 seeks to prevent such disadvantageous conditions arising by seeking to detect late acknowledgement signals in the upstream wireless link and, in response to such detection, serving to suspend the activity of the TCP sender before the time-out period expires and so before the aforementioned time-out can be invoked.

[0021]FIG. 2 illustrates the booster 32 of FIG. 1 in greater detail As noted previously, the booster is arranged to handle both the downstream and upstream data and the downstream data 46 is arranged to pass through a connection monitor 48 which serves to monitor all TCP packets that are transmitted to the mobile terminal 38 as illustrated in FIG. 1. The connection monitor 48 performs such monitoring by storing the sequence number of the most recently sent TCP packets. When a new TCP data packet arrives at the connection monitor 48 comprises of sequence numbers is conducted within a duplicate-packet monitor 50 before exiting the booster 32 with the aforementioned stored value so that TCP data packets that have been retransmitted by the TCP sender can be ignored. Such a process is to be executed for each TCP communication connection that remains open and where the control aspect of the present invention as offered by the booster of FIG. 1 is to be applied.

[0022] In the direction of upstream data flow, the flow of acknowledgements, for example, 52, is monitored by an acknowledgement monitor 54 and the inter-arrival time between consecutive acknowledgement signals is monitored under the control of a timer setting control 56 and when a threshold is exceeded, a zero-window acknowledgement signal 58 is generated and transmitted to the TCP sender so as to suspend operation of the TCP sender and thereby prevent the above-mentioned time-out being invoked. The generation of the zero window acknowledgement signal serves to effectively block the transmission of new data packets and the TCP time-out process within the sender.

[0023] The acknowledgement monitor 54 in the booster 32 serves to activate a timer (not specifically shown) for each connection that is under its control and, as mentioned, upon expiration of the predetermined time period as set by means of the timer setting 56, the zero-window acknowledgement signal 58 is transmitted in the upstream direction as previously noted.

[0024] It is an important aspect of the present invention to ensure that the time period established by the timer setting 56 is accurately calculated in order for the booster 32 embodying the present invention to be effected.

[0025] For example, if the set timer value is too small, then zero-window acknowledgement signals might be unnecessarily transmitted upstream to the TCP sender and this carries the disadvantage of creating unnecessary pauses in the transmission. However, when the acknowledgement signal that was being delayed in the wireless network finally arrives at the access point, it is transmitted to the TCP sender and causes transmission to be resumed. In the alternative however, if the timer value is too large, then a time-out at the TCP sender is quite likely to be invoked and the transmission of the zero-window acknowledgement signal would then be ineffective.

[0026] The timer value calculation can generally be achieved as follows from:

RTT _(i+l) =.RTT _(i) +β:delay

[0027] where RTT is the estimated round trip time (in the wireless link) which is updated each time a new ACK arrives and delay is the interarrival time between two consecutive ACK's in the upstream. and β are such that their sum is unitary. The timer value can simply be calculated from RTT in the following way:

T _(out) =K. RTT  (2)

[0028] Experimentation has shown that the values: $\begin{matrix} \begin{matrix} {\quad {= \quad 0.7}} \\ {\beta - \quad 0.3} \\ {K = \quad 2.5} \end{matrix} & (3) \end{matrix}$

[0029] provide the desired behavior for the LAN case, i.e. when the round trip delays between the server and the AP are small. In situations where the network delay between the server and the AP is larger, K should be decreased accordingly.

[0030] Turning now to the graphs of FIGS. 3 and 4, measurements arising in relation to the configuration illustrated in FIG. 1 above have been taken and the graphs of FIGS. 3 and 4 plotted.

[0031] The results as plotted in FIGS. 3 and 4 are for the same link conditions, with TCP Reno implementation in the TCP sender in a LAN environment.

[0032] As will be appreciated, each of the graphs depicts the transferred bites v time and also highlight the occurrence of TCP retransmissions which are marked with a ‘R’.

[0033] As illustrated in FIG. 3 which represents the situation not employing the booster embodying the present invention, several retransmissions occur resulting in a waste of bandwidth and a disadvantageous reduction in the throughput.

[0034] However, in FIG. 4, which illustrates the results achieved when employing the booster embodying the present invention, it is quite clear that the connection is improved since the retransmissions have been eliminated by sending timely acknowledgement signals with a null-advertised window which are illustrated by ‘Z’ in FIG. 4 back to the TCP sender.

[0035] The overall result is that, while in the first case illustrated in FIG. 3 an average throughput of 320 Kb/s can be achieved, in the second case embodying the present invention and as illustrated in FIG. 4, an average throughput of 352 Kb/s is achieved which represents an increase in throughput of in the region of 10%. As will be appreciated, the elimination of the retransmissions illustrated in FIG. 3 serves advantageously to prevent unnecessary use of the bandwidth on the wireless link.

[0036] As will be appreciated, the present invention finds particular application in use in the Bluetooth enabled mobile communication devices.

[0037] It should also be noted that the above-mentioned comparison as illustrated via FIGS. 3 and 4 have been obtained by way of a real-time Bluetooth test bed offering different channel conditions and including interference from IEEE 802.11 systems in the 2.4 GHz band.

[0038] Thus, employing the proposed booster embodying the present invention can advantageously lead to throughput improvements and improved utilization of the wireless link. 

1. A network interface driver for the communication of TCP packets involving a mobile terminal (38) and a wireless link (34) and in which acknowledgement signals are sent responsive to TCP data packets, characterized by a control (32) element arranged to prevent acknowledgement signals that are delayed in the wireless link (34) from triggering a time-out signal in the TCP packet source.
 2. A network interface driver as claimed in claim 1, and located between IP (26) and LLC (30) protocol layers so as to operate on the TCP packets.
 3. A network interface driver as claimed in claim 1 or 2, and provided in a wireless link access point (24).
 4. A network interface driver as claimed in claim 1, 2 or 3, wherein the control element (32) comprises a computer program product.
 5. A network interface driver as claimed in any one of claims 1 to 4, wherein the control element (32) comprises TCP monitoring means (48, 50) for a downstream data direction (46) and an acknowledgement signal monitoring means (54) for an upstream direction (52).
 6. A network interface driver as claimed in claim 5, wherein the acknowledgement signal monitoring means (54) is arranged to monitor the interarrival time between successive acknowledgement signals.
 7. A network interface driver as claimed in claim 6, and including means for comparing the said monitored interarrival time with a threshold value and for generating a control signal (58) responsive to the result of the comparison.
 8. A network interface driver as claimed in claim 7, wherein the control signal comprises a zero-window acknowledgement signal (58) that is sent back to the TCP packet source.
 9. A network interface driver as claimed in claim 7 or 8, wherein the said threshold value is selectable by way of a timer setting means (56).
 10. A network interface driver as claimed in any one of claims 5 to 9, wherein the acknowledgement signal monitoring means (54) is arranged to initiate operation of a timer upon identification of a received acknowledgement signal.
 11. A computer program product (32) arranged for use in a network interface driver for the communication of TCP packets involving a mobile terminal and a wireless link and characterized in that the computer program product exhibits a control function serving to prevent acknowledgement signal that are delayed in the wireless link from triggering a time-out signal at the TCP packet source.
 12. A computer program product as claimed in claim 1 1, and arranged for monitoring TCP packets in a downstream data direction and for monitoring acknowledgement signals in an upstream data direction.
 13. A computer program product as claimed in claim 12, and arranged for monitoring the interarrival time between successive acknowledgement signals.
 14. A computer program product as claimed in claim 13, and arranged to compare the interarrival time with a threshold value and to initiate a control signal responsive to the result of the comparison.
 15. A method of controlling the communication of TCP packets involving a network interface driver and a mobile terminal (38), characterized by the step of preventing acknowledgement signals that are delayed in the wireless link (34) from triggering a time-out signal in the TCP packe t source.
 16. A method as claimed in claim 15, and including the steps of monitoring TCP packets in a downstream data direction and monitoring acknowledgement signals sent in an upstream data direction.
 17. A method as claimed in claim 16, wherein the step of monitoring the acknowledgement signals includes the step of monitoring the interarrival time between successive acknowledgement signals.
 18. A method as claimed in claim 17, and including the steps of comparing the said monitored interarrival time with a threshold value and generating a control signal (58) responsive to the result of the comparison.
 19. A method as claimed in claim 18, wherein the step of generating a control signal comprises generating a zero-window acknowledgement signal (58) and sending the same to the TCP packet source.
 20. A method as claimed in any one of claims 16 to 19, and including the step of initiating a timer responsive to receipt of an acknowledgement signal.
 21. A mobile terminal (38) having a network interface driver for the communication of TCP packets involving a mobile terminal (38) and a wireless link (34) and in which acknowledgement signals are sent responsive to TCP data packets, characterized by a control (32) element arranged to prevent acknowledgement signals that are delayed in the wireless link (34) from triggering a time-out signal in the TCP packet source. 